using System.Windows.Forms;

namespace VisualPureBasicIDE.CoreGUI.Extensibility
{
    public interface IPlugin
    {
        /// <summary>
        /// Returns the name of the plugin
        /// </summary>
        string Name { get; }
        /// <summary>
        /// Returns the description of the plugin
        /// </summary>
        string Description { get; }
        /// <summary>
        /// Passes the appropriate ToolStripMenuItem to the plugin
        /// </summary>
        ToolStripMenuItem MenuItem { get; set; }

        // TODO: Pass the active document to the plugin

        /// <summary>
        /// Called, when the plugin is being loaded
        /// </summary>
        void Load();
        /// <summary>
        /// Called, when the plugin is being unloaded
        /// </summary>
        void Unload();
    }
}